<template>
  <div id="page">
    <div class="wrap">
      <div class="radio-box">
        <label class="flex-items-center">
          <img v-if="formData.commonCard == 1"
            src="../../assets/img/icon/icon_chose_s@2x.png"
            alt="">
          <img v-else
            src="../../assets/img/icon/icon_chose_n@2x.png"
            alt="">
          <input type="radio"
            v-model="formData.commonCard"
            value="1" />普通车牌
        </label>
        <label class="flex-items-center">
          <img v-if="formData.commonCard == 2"
            src="../../assets/img/icon/icon_chose_s@2x.png"
            alt="">
          <img v-else
            src="../../assets/img/icon/icon_chose_n@2x.png"
            alt="">
          <input type="radio"
            v-model="formData.commonCard"
            value="2" />新能源车牌
        </label>
      </div>
      <div class="card-header">车牌号码：</div>
      <div class="num-box">
        <div class="num0" @click="clickFirstWrap()">
            <span>{{formData.num0}}</span>
        </div>
        <div class="num1" @click="clickKeyWordWrap(1)"><span>{{formData.num1}}</span></div>
        <em class="spot"></em>
        <div class="num1" @click="clickKeyWordWrap(2)"><span>{{formData.num2}}</span></div>
        <div class="num1" @click="clickKeyWordWrap(3)"><span>{{formData.num3}}</span></div>
        <div class="num1" @click="clickKeyWordWrap(4)"><span>{{formData.num4}}</span></div>
        <div class="num1" @click="clickKeyWordWrap(5)"><span>{{formData.num5}}</span></div>
        <div class="num1" @click="clickKeyWordWrap(6)"><span>{{formData.num6}}</span></div>
        <div v-if="formData.commonCard == '2'" class="num1" @click="clickKeyWordWrap(7)"><span>{{formData.num7}}</span></div>
      </div>

      <div class="submit-box">
        <button @click="submitFn()">确认</button>
      </div>
    </div>
    <div class="first-word-wrap"
      v-if="firstWrapStatus">
      <div class="first-word"
        @click="selectFirstWord($event)">
        <div class="word">
          <span>冀</span>
        </div>
        <div class="word">
          <span>京</span>
        </div>
        <div class="word">
          <span>津</span>
        </div>
        <div class="word">
          <span>鄂</span>
        </div>
        <div class="word">
          <span>沪</span>
        </div>
        <div class="word">
          <span>粤</span>
        </div>
      </div>
      <div class="first-word"
        @click="selectFirstWord($event)">
        <div class="word">
          <span>湘</span>
        </div>
        <div class="word">
          <span>渝</span>
        </div>
        <div class="word">
          <span>琼</span>
        </div>
        <div class="word">
          <span>川</span>
        </div>
        <div class="word">
          <span>晋</span>
        </div>
        <div class="word">
          <span>贵</span>
        </div>
      </div>
      <div class="first-word"
        @click="selectFirstWord($event)">
        <div class="word">
          <span>黑</span>
        </div>
        <div class="word">
          <span>甘</span>
        </div>
        <div class="word">
          <span>苏</span>
        </div>
        <div class="word">
          <span>青</span>
        </div>
        <div class="word">
          <span>辽</span>
        </div>
        <div class="word">
          <span>云</span>
        </div>
      </div>
      <div class="first-word"
        @click="selectFirstWord($event)">
        <div class="word">
          <span>吉</span>
        </div>
        <div class="word">
          <span>陕</span>
        </div>
        <div class="word">
          <span>浙</span>
        </div>
        <div class="word">
          <span>皖</span>
        </div>
        <div class="word">
          <span>藏</span>
        </div>
        <div class="word">
          <span>闽</span>
        </div>
      </div>
      <div class="first-word"
        @click="selectFirstWord($event)">
        <div class="word">
          <span>蒙</span>
        </div>
        <div class="word">
          <span>赣</span>
        </div>
        <div class="word">
          <span>桂</span>
        </div>
        <div class="word">
          <span>鲁</span>
        </div>
        <div class="word">
          <span>宁</span>
        </div>
        <div class="word">
          <span>豫</span>
        </div>
      </div>
      <div class="first-word"
        @click="selectFirstWord($event)">
        
        <div class="word">
          <span>新</span>
        </div>
        <div class="word bordernone">
          <!-- <img src="../../assets/img/icon/icon-switch.png" alt=""> -->
        </div>
      </div>
    </div>
    <div class="keyboard-wrap" v-if="keyBoardStatus === true">
      <!-- <div class="number-wrap"></div>
      <div class="letter-wrap"></div>
      <div class="cn-wrap"></div> -->
      <div class="keyboard" v-if="activeKeyWordIndex !== 1 && activeKeyWordIndex !== 0">
        <span v-for="(item,index) in allKeyWord._1"
          :key="index"
          @click="clickKeyBoard(item)">{{item}}</span>
          
      </div>
      <div class="keyboard" v-if="activeKeyWordIndex !== 1 && activeKeyWordIndex !== 0">
        <span v-for="(item,index) in allKeyWord._2"
          :key="index"
          @click="clickKeyBoard(item)">{{item}}</span>
      </div>
      <div class="keyboard">
        <span v-for="(item,index) in allKeyWord._3"
          :key="index"
          @click="clickKeyBoard(item)">{{item}}</span>
      </div>
      <div class="keyboard">
        <span v-for="(item,index) in allKeyWord._4"
          :key="index"
          @click="clickKeyBoard(item)">{{item}}</span>
      </div>
      <div class="keyboard">
        <span v-for="(item,index) in allKeyWord._5"
          :key="index"
          @click="clickKeyBoard(item)">{{item}}</span>
      </div>
      <div class="keyboard">
        <span v-for="(item,index) in allKeyWord._6"
          :key="index"
          @click="clickKeyBoard(item)">{{item}}</span>
      </div>
      <div class="keyboard">
        <span v-for="(item,index) in allKeyWord._8"
          :key="index"
          @click="clickKeyBoard(item)">{{item}}</span>
          
      </div>
      <div class="keyboard" v-if="activeKeyWordIndex !== 1 && activeKeyWordIndex !== 0">
        <span v-for="(item,index) in allKeyWord._7"
          :key="index"
          @click="clickKeyBoard(item)">{{item}}</span>
          <span class="bordernone"></span>
          <span class="delete" @click="deleteWord"><img src="../../assets/img/icon/icon-delete.png" alt=""></span>
      </div>
      <div class="cancel">
        <span v-if="activeKeyWordIndex !== 0 && activeKeyWordIndex ===1" class="delete" @click="deleteWord"><img src="../../assets/img/icon/icon-delete.png" alt=""></span>
        <span style="display:none" v-if="activeKeyWordIndex!=1" @click="keyBoardStatus = false">完成</span>
      </div>
    </div>
  </div>
</template>
<script>
export default {
  data () {
    return {
      formData: {
        commonCard: '1',
        num0: '',
        num1: '',
        num2: '',
        num3: '',
        num4: '',
        num5: '',
        num6: '',
        num7: ''
      },
      allKeyWord: {
        _1: [1, 2, 3, 4, 5],
        _2: [6 ,7, 8, 9, 0],
        _3: ['A', 'B', 'C', 'D', 'E'],
        _4: ['F', 'G', 'H', 'J', 'K'],
        _5: ['L', 'M', 'N', 'O', 'P'],
        _6: ['Q', 'R', 'S','T', 'U'],
        _8: ['V','W', 'X', 'Y','Z'],
        _7: ['港', '澳', '学', '领', '警','挂']
      },
      activeKeyWordIndex: 1, // 当前车牌号
      keyBoardStatus: false,
      firstWrapStatus: true, // 选择弹窗
      confirmTitle: '',
      submitConfirm: false,
      submitConfirmFalse: false,
      submitConfirmText: ''
    }
  },
  mounted () {
  },
  methods: {
    clickFirstWrap () {
      // 点击第一个输入框
      this.firstClickStatus = true
      this.firstWrapStatus = true
      this.keyBoardStatus = false
      this.formData.num0 = ''
    },
    selectFirstWord (event) {
      // 选择省份
      if (event.target.localName !== 'span') {
        return
      }
      this.formData.num0 = event.target.innerText
      this.firstSelectStatus = true
      this.firstWrapStatus = false
      this.firstClickStatus = false
      this.keyBoardStatus = true
      this.activeKeyWordIndex = 1
      // this.$refs.num1.focus()
      // document.getElementById('num1').focus()
    },
    clickKeyBoard (item) { // 点击自定义键盘
      console.log(item)
      this.formData['num' + this.activeKeyWordIndex] = item
      if (this.formData.commonCard === '1') {
        this.activeKeyWordIndex++
        if (this.activeKeyWordIndex > 6) {
          this.keyBoardStatus = false
        }
      } else {
        this.activeKeyWordIndex++
        if (this.activeKeyWordIndex > 7) {
          this.keyBoardStatus = false
        }
      }
    },
    deleteWord () { // 退格
      // console.log(this.activeKeyWordIndex)
      // console.log(this.formData['num' + (this.activeKeyWordIndex - 1)])
      if (this.activeKeyWordIndex >= 1) {
        this.formData['num' + (this.activeKeyWordIndex - 1)] = ''
        this.activeKeyWordIndex--
        if(this.activeKeyWordIndex===0){
          this.clickFirstWrap()
        }
      }
    },
    clickKeyWordWrap (activeKeyWordIndex) {
      this.keyBoardStatus = true
      this.activeKeyWordIndex = activeKeyWordIndex
      this.formData['num' + this.activeKeyWordIndex] = ''
    },
    submitFn () {
      let plateLicense
      if (this.formData.commonCard === '1') {
        plateLicense = this.plate_license_1
        plateLicense = this.palindrome(plateLicense)
        if (plateLicense.length < 7) {
          alert('请输入正确的车牌号')
          return
        }
      }
      if (this.formData.commonCard === '2') {
        plateLicense = this.plate_license_2
        plateLicense = this.palindrome(plateLicense)
        if (plateLicense.length < 8) {
          alert('请输入正确的车牌号')
          return
        }
      }
      this.$emit('getPlateLicense',plateLicense)
      console.log(plateLicense);
      //alert(plateLicense)
    },
    palindrome (str) {
      var arr = str.split('')
      arr = arr.filter(function (val) {
        return (
          val !== ' ' &&
          val !== ',' &&
          val !== '.' &&
          val !== '?' &&
          val !== ':' &&
          val !== ';' &&
          val !== '`' &&
          val !== "'" &&
          val !== '_' &&
          val !== '/' &&
          val !== '-' &&
          val !== '\\' &&
          val !== '' &&
          val !== '(' &&
          val !== ')'
        )
      })
      return arr.join('')
    },
    checkIsHasSpecialStr (str) {
      var flag = false
      var arr = str.split('')
      arr.forEach(val => {
        if (
          val === '!' ||
          val === '}' ||
          val === '{' ||
          val === ']' ||
          val === '[' ||
          val === '&' ||
          val === '$' ||
          val === '@' ||
          val === ' ' ||
          val === ',' ||
          val === '.' ||
          val === '?' ||
          val === ':' ||
          val === ';' ||
          val === '`' ||
          val === "'" ||
          val === '_' ||
          val === '/' ||
          val === '-' ||
          val === '\\' ||
          val === '' ||
          val === '(' ||
          val === ')'
        ) {
          flag = true
        }
      })
      return flag
    },
    checkIsHasChineseStr (str) {
      var Reg = /.*[\u4e00-\u9fa5]+.*/
      if (Reg.test(str)) {
        return true
      }
      return false
    }
  },
  computed: {
    plate_license_1 () {
      return (
        this.formData.num0 +
        this.formData.num1 +
        this.formData.num2 +
        this.formData.num3 +
        this.formData.num4 +
        this.formData.num5 +
        this.formData.num6
      )
    },
    plate_license_2 () {
      return (
        this.formData.num0 +
        this.formData.num1 +
        this.formData.num2 +
        this.formData.num3 +
        this.formData.num4 +
        this.formData.num5 +
        this.formData.num6 +
        this.formData.num7
      )
    }
  }
}
</script>
<style lang="less" scoped>
.flex-items-center {
  display: flex;
  align-items: center;
}
.wrap {
  height: 14.4rem;
  padding: 0.85rem 0.6rem;
  background-color: #fff;
  border-radius: 0.5rem;
  .radio-box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: 0.4rem;
    text-align: right;
    color: #4a4a4a;
    input[type="radio"] {
      display: none;
    }
    label {
      padding-left: 0.6rem;
      cursor: pointer;
      img {
        width: 0.4rem;
        margin-right: 0.1rem;
      }
    }
  }
  .card-header {
    font-size: 0.5rem;
    margin: 0.2rem 0 0.5rem;
    color: #4a4a4a;
  }
  // input输入框
  .num-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    .spot {
      width: 0.2rem;
      height: 0.2rem;
      border-radius: 50%;
      background-color: #d8d8d8;
    }
    & > div {
      width: 1rem;
      height:1rem;
      border: 1px solid #e4e4e4;
      &.first {
        position: relative;
        text-align: center;
        line-height: 1.7rem;
        font-weight: 200;
        .input-wrap {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          &.active {
            z-index: 100;
          }
        }
        em {
          color: #979797;
          font-size: 1.6rem;
          line-height: 1.7rem;
        }
        span {
          display: inline-block;
          width: 100%;
          height: 100%;
          // background-color: #9cbce2;
          color: #828282;
          line-height: 1.8rem;
        }
      }
      &.active {
        border: 1px solid #4a90e2;
        &:after {
          border-bottom: 0.5rem solid #4a90e2;
        }
      }
      span {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        font-size: 0.4rem;
        color: #828282;
        &.first {
          background-color: #9cbce2;
          color: #fff;
          text-indent: 0.4rem;
          border-radius: 0;
        }
      }
    }
  }
  .submit-box {
    button {
      width: 100%;
      height: 0.8rem;
      border-radius: 0.25rem;
      font-size: 0.4rem;
      margin-top: 0.7rem;
      background: linear-gradient(
        320deg,
        rgba(74, 144, 226, 1) 0%,
        rgba(101, 172, 248, 1) 100%
      );
      color: #fff;
    }
  }
  .info {
    font-size: 0.5rem;
    margin-top: 0.9rem;
    color: #828282;
    text-align: left;
    img {
      width: 0.6rem;
      vertical-align: middle;
    }
  }
}
.first-word-wrap {
  // height: 9.4rem;
  background-color: #D2D5DB;
  padding: 0.4rem 0.8rem 1.1rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  .first-word {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.2rem;
    .word {
      box-sizing: border-box;
      width: 1.3rem;
      height: 1rem;
      // border: 1px solid #9cbce2;
      box-shadow: 0px 1px 4px  rgba(0, 0, 0, 0.35);
      border-radius: 0.16rem;
      text-align: center;
      font-size: 0.4rem;
      &.bordernone {
        border: none;
        box-shadow:none;
        span{
          font-size: 0.4rem;
        }
        
      }
      span {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        width: 100%;
        height: 100%;
        background-color: #fff;
        color: #000;
        // border: 1px solid #fff;
        border-radius: 0.125rem;
        font-size: 0.5rem;
        
      }
      img {
        width: 1.6rem;
      }
    }
    &:nth-last-of-type(1){
      margin-bottom: 0rem;
    }
  }
}
.keyboard-wrap {
  background-color: #D2D5DB;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0.4rem 0.6rem 0.2rem;
  .keyboard {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height:0.8rem;
    margin-bottom: 0.3rem;
    span {
      text-align: center;
      display: flex;
      width: 1.5rem;
      align-items: center;
      justify-content: center;
      height: 1rem;
      margin: 0 0.1rem;
      box-shadow: 0px 1px 4px  rgba(0, 0, 0, 0.35);
      background-color: #fff;
      border-radius: 0.125rem;
      font-size: 0.5rem;
      &:active {
        background-color: #e4e4e4;
      }
      &.bordernone{
        border: none;
        box-shadow: none;
        background-color: #D2D5DB;
        &:active{
          background-color:#D2D5DB;
        }
      }
      &.delete{
        background-color: #465266;
        img{
          width: 1.15rem;
        }
      }
    }
  }
  .cancel{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    span{
      display: flex;
      align-items: center;
      justify-content: center;
      width: 2.5rem;
      height: 1.3rem;
      background-color: #465266;
      color: #fff;
      border-radius: 0.125rem;
    }
  }
}
</style>